package com.losdun.product.domain;

import com.losdun.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 产品属性对象 prod_attribute
 *
 * @author sword.ye
 * @date 2025-02-28
 */

public class Attribute extends BaseTreeEntity
{
    private static final long serialVersionUID = 1L;

    /** 0：普通属性 1：特殊属性 */
    private Integer type;

    /** 0:否 1：是 */
    private Integer isSystem;

    /** 属性预览图 */
    @Excel(name = "属性预览图")
    private String previewImage;

    /** 开门方式加长 */
    private Integer extraLength;
    /** 开门方式滑轨系数 */
    private Double railLengthTimes;

    private BigDecimal extraPrice;

    public BigDecimal getExtraPrice() {
        return extraPrice;
    }

    public void setExtraPrice(BigDecimal extraPrice) {
        this.extraPrice = extraPrice;
    }

    public Double getRailLengthTimes() {
        return railLengthTimes;
    }

    public void setRailLengthTimes(Double railLengthTimes) {
        this.railLengthTimes = railLengthTimes;
    }

    public Integer getExtraLength() {
        return extraLength;
    }

    public void setExtraLength(Integer extraLength) {
        this.extraLength = extraLength;
    }

    public void setIsSystem(Integer isSystem)
    {
        this.isSystem = isSystem;
    }

    public Integer getIsSystem()
    {
        return isSystem;
    }
    public void setPreviewImage(String previewImage)
    {
        this.previewImage = previewImage;
    }

    public String getPreviewImage()
    {
        return previewImage;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("parentId", getParentId())
                .append("name", getName())
                .append("isSystem", getIsSystem())
                .append("orderNum", getOrderNum())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("previewImage", getPreviewImage())
                .toString();
    }
}
